# Enable Qt MOC/UIC/RCC
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC OFF)

# Export library
add_library(
  librepcb_editor STATIC
  3d/openglobject.h
  3d/openglscenebuilder.cpp
  3d/openglscenebuilder.h
  3d/opengltriangleobject.cpp
  3d/opengltriangleobject.h
  cmd/cmdattributeedit.cpp
  cmd/cmdattributeedit.h
  cmd/cmdcircleedit.cpp
  cmd/cmdcircleedit.h
  cmd/cmdholeedit.cpp
  cmd/cmdholeedit.h
  cmd/cmdlistelementinsert.h
  cmd/cmdlistelementremove.h
  cmd/cmdlistelementsswap.h
  cmd/cmdpolygonedit.cpp
  cmd/cmdpolygonedit.h
  cmd/cmdstroketextedit.cpp
  cmd/cmdstroketextedit.h
  cmd/cmdtextedit.cpp
  cmd/cmdtextedit.h
  cmd/cmdzoneedit.cpp
  cmd/cmdzoneedit.h
  dialogs/aboutdialog.cpp
  dialogs/aboutdialog.h
  dialogs/aboutdialog.ui
  dialogs/circlepropertiesdialog.cpp
  dialogs/circlepropertiesdialog.h
  dialogs/circlepropertiesdialog.ui
  dialogs/directorylockhandlerdialog.cpp
  dialogs/directorylockhandlerdialog.h
  dialogs/directorylockhandlerdialog.ui
  dialogs/dxfimportdialog.cpp
  dialogs/dxfimportdialog.h
  dialogs/dxfimportdialog.ui
  dialogs/filedialog.cpp
  dialogs/filedialog.h
  dialogs/graphicsexportdialog.cpp
  dialogs/graphicsexportdialog.h
  dialogs/graphicsexportdialog.ui
  dialogs/gridsettingsdialog.cpp
  dialogs/gridsettingsdialog.h
  dialogs/gridsettingsdialog.ui
  dialogs/holepropertiesdialog.cpp
  dialogs/holepropertiesdialog.h
  dialogs/holepropertiesdialog.ui
  dialogs/polygonpropertiesdialog.cpp
  dialogs/polygonpropertiesdialog.h
  dialogs/polygonpropertiesdialog.ui
  dialogs/stroketextpropertiesdialog.cpp
  dialogs/stroketextpropertiesdialog.h
  dialogs/stroketextpropertiesdialog.ui
  dialogs/textpropertiesdialog.cpp
  dialogs/textpropertiesdialog.h
  dialogs/textpropertiesdialog.ui
  dialogs/zonepropertiesdialog.cpp
  dialogs/zonepropertiesdialog.h
  dialogs/zonepropertiesdialog.ui
  editorcommand.cpp
  editorcommand.h
  editorcommandcategory.h
  editorcommandset.h
  graphics/circlegraphicsitem.cpp
  graphics/circlegraphicsitem.h
  graphics/defaultgraphicslayerprovider.cpp
  graphics/defaultgraphicslayerprovider.h
  graphics/graphicslayer.cpp
  graphics/graphicslayer.h
  graphics/graphicsscene.cpp
  graphics/graphicsscene.h
  graphics/holegraphicsitem.cpp
  graphics/holegraphicsitem.h
  graphics/linegraphicsitem.cpp
  graphics/linegraphicsitem.h
  graphics/origincrossgraphicsitem.cpp
  graphics/origincrossgraphicsitem.h
  graphics/polygongraphicsitem.cpp
  graphics/polygongraphicsitem.h
  graphics/primitivecirclegraphicsitem.cpp
  graphics/primitivecirclegraphicsitem.h
  graphics/primitivefootprintpadgraphicsitem.cpp
  graphics/primitivefootprintpadgraphicsitem.h
  graphics/primitiveholegraphicsitem.cpp
  graphics/primitiveholegraphicsitem.h
  graphics/primitivepathgraphicsitem.cpp
  graphics/primitivepathgraphicsitem.h
  graphics/primitivetextgraphicsitem.cpp
  graphics/primitivetextgraphicsitem.h
  graphics/primitivezonegraphicsitem.cpp
  graphics/primitivezonegraphicsitem.h
  graphics/stroketextgraphicsitem.cpp
  graphics/stroketextgraphicsitem.h
  graphics/textgraphicsitem.cpp
  graphics/textgraphicsitem.h
  graphics/zonegraphicsitem.cpp
  graphics/zonegraphicsitem.h
  library/cat/categorychooserdialog.cpp
  library/cat/categorychooserdialog.h
  library/cat/categorychooserdialog.ui
  library/cat/categorylisteditorwidget.cpp
  library/cat/categorylisteditorwidget.h
  library/cat/categorylisteditorwidget.ui
  library/cat/categorytreebuilder.cpp
  library/cat/categorytreebuilder.h
  library/cat/categorytreelabeltextbuilder.cpp
  library/cat/categorytreelabeltextbuilder.h
  library/cat/componentcategoryeditorwidget.cpp
  library/cat/componentcategoryeditorwidget.h
  library/cat/componentcategoryeditorwidget.ui
  library/cat/packagecategoryeditorwidget.cpp
  library/cat/packagecategoryeditorwidget.h
  library/cat/packagecategoryeditorwidget.ui
  library/cmd/cmdcomponentedit.cpp
  library/cmd/cmdcomponentedit.h
  library/cmd/cmdcomponentpinsignalmapitemedit.cpp
  library/cmd/cmdcomponentpinsignalmapitemedit.h
  library/cmd/cmdcomponentsignaledit.cpp
  library/cmd/cmdcomponentsignaledit.h
  library/cmd/cmdcomponentsymbolvariantedit.cpp
  library/cmd/cmdcomponentsymbolvariantedit.h
  library/cmd/cmdcomponentsymbolvariantitemedit.cpp
  library/cmd/cmdcomponentsymbolvariantitemedit.h
  library/cmd/cmddeviceedit.cpp
  library/cmd/cmddeviceedit.h
  library/cmd/cmddevicepadsignalmapitemedit.cpp
  library/cmd/cmddevicepadsignalmapitemedit.h
  library/cmd/cmddragselectedfootprintitems.cpp
  library/cmd/cmddragselectedfootprintitems.h
  library/cmd/cmddragselectedsymbolitems.cpp
  library/cmd/cmddragselectedsymbolitems.h
  library/cmd/cmdfootprintedit.cpp
  library/cmd/cmdfootprintedit.h
  library/cmd/cmdfootprintpadedit.cpp
  library/cmd/cmdfootprintpadedit.h
  library/cmd/cmdlibrarybaseelementedit.cpp
  library/cmd/cmdlibrarybaseelementedit.h
  library/cmd/cmdlibrarycategoryedit.cpp
  library/cmd/cmdlibrarycategoryedit.h
  library/cmd/cmdlibraryedit.cpp
  library/cmd/cmdlibraryedit.h
  library/cmd/cmdlibraryelementedit.cpp
  library/cmd/cmdlibraryelementedit.h
  library/cmd/cmdpackageedit.cpp
  library/cmd/cmdpackageedit.h
  library/cmd/cmdpackagemodeladd.cpp
  library/cmd/cmdpackagemodeladd.h
  library/cmd/cmdpackagemodeledit.cpp
  library/cmd/cmdpackagemodeledit.h
  library/cmd/cmdpackagemodelremove.cpp
  library/cmd/cmdpackagemodelremove.h
  library/cmd/cmdpackagepadedit.cpp
  library/cmd/cmdpackagepadedit.h
  library/cmd/cmdpastefootprintitems.cpp
  library/cmd/cmdpastefootprintitems.h
  library/cmd/cmdpastesymbolitems.cpp
  library/cmd/cmdpastesymbolitems.h
  library/cmd/cmdremoveselectedfootprintitems.cpp
  library/cmd/cmdremoveselectedfootprintitems.h
  library/cmd/cmdremoveselectedsymbolitems.cpp
  library/cmd/cmdremoveselectedsymbolitems.h
  library/cmd/cmdsymbolpinedit.cpp
  library/cmd/cmdsymbolpinedit.h
  library/cmp/cmpsigpindisplaytypecombobox.cpp
  library/cmp/cmpsigpindisplaytypecombobox.h
  library/cmp/componentchooserdialog.cpp
  library/cmp/componentchooserdialog.h
  library/cmp/componentchooserdialog.ui
  library/cmp/componenteditorwidget.cpp
  library/cmp/componenteditorwidget.h
  library/cmp/componenteditorwidget.ui
  library/cmp/componentpinsignalmapmodel.cpp
  library/cmp/componentpinsignalmapmodel.h
  library/cmp/componentsignallisteditorwidget.cpp
  library/cmp/componentsignallisteditorwidget.h
  library/cmp/componentsignallistmodel.cpp
  library/cmp/componentsignallistmodel.h
  library/cmp/componentsymbolvarianteditdialog.cpp
  library/cmp/componentsymbolvarianteditdialog.h
  library/cmp/componentsymbolvarianteditdialog.ui
  library/cmp/componentsymbolvariantitemlisteditorwidget.cpp
  library/cmp/componentsymbolvariantitemlisteditorwidget.h
  library/cmp/componentsymbolvariantitemlistmodel.cpp
  library/cmp/componentsymbolvariantitemlistmodel.h
  library/cmp/componentsymbolvariantlistmodel.cpp
  library/cmp/componentsymbolvariantlistmodel.h
  library/cmp/componentsymbolvariantlistwidget.cpp
  library/cmp/componentsymbolvariantlistwidget.h
  library/cmp/compsymbvarpinsignalmapeditorwidget.cpp
  library/cmp/compsymbvarpinsignalmapeditorwidget.h
  library/cmp/if_componentsymbolvarianteditorprovider.h
  library/dev/deviceeditorwidget.cpp
  library/dev/deviceeditorwidget.h
  library/dev/deviceeditorwidget.ui
  library/dev/devicepadsignalmapmodel.cpp
  library/dev/devicepadsignalmapmodel.h
  library/dev/padsignalmapeditorwidget.cpp
  library/dev/padsignalmapeditorwidget.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizard.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizard.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizard.ui
  library/eaglelibraryimportwizard/eaglelibraryimportwizardcontext.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardcontext.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_chooselibrary.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_chooselibrary.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_chooselibrary.ui
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_result.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_result.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_result.ui
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_selectelements.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_selectelements.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_selectelements.ui
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_setoptions.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_setoptions.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_setoptions.ui
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_start.cpp
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_start.h
  library/eaglelibraryimportwizard/eaglelibraryimportwizardpage_start.ui
  library/editorwidgetbase.cpp
  library/editorwidgetbase.h
  library/lib/librarylisteditorwidget.cpp
  library/lib/librarylisteditorwidget.h
  library/lib/librarylisteditorwidget.ui
  library/lib/libraryoverviewwidget.cpp
  library/lib/libraryoverviewwidget.h
  library/lib/libraryoverviewwidget.ui
  library/libraryeditor.cpp
  library/libraryeditor.h
  library/libraryeditor.ui
  library/libraryelementcache.cpp
  library/libraryelementcache.h
  library/newelementwizard/newelementwizard.cpp
  library/newelementwizard/newelementwizard.h
  library/newelementwizard/newelementwizard.ui
  library/newelementwizard/newelementwizardcontext.cpp
  library/newelementwizard/newelementwizardcontext.h
  library/newelementwizard/newelementwizardpage_choosetype.cpp
  library/newelementwizard/newelementwizardpage_choosetype.h
  library/newelementwizard/newelementwizardpage_choosetype.ui
  library/newelementwizard/newelementwizardpage_componentpinsignalmap.cpp
  library/newelementwizard/newelementwizardpage_componentpinsignalmap.h
  library/newelementwizard/newelementwizardpage_componentpinsignalmap.ui
  library/newelementwizard/newelementwizardpage_componentproperties.cpp
  library/newelementwizard/newelementwizardpage_componentproperties.h
  library/newelementwizard/newelementwizardpage_componentproperties.ui
  library/newelementwizard/newelementwizardpage_componentsignals.cpp
  library/newelementwizard/newelementwizardpage_componentsignals.h
  library/newelementwizard/newelementwizardpage_componentsignals.ui
  library/newelementwizard/newelementwizardpage_componentsymbols.cpp
  library/newelementwizard/newelementwizardpage_componentsymbols.h
  library/newelementwizard/newelementwizardpage_componentsymbols.ui
  library/newelementwizard/newelementwizardpage_copyfrom.cpp
  library/newelementwizard/newelementwizardpage_copyfrom.h
  library/newelementwizard/newelementwizardpage_copyfrom.ui
  library/newelementwizard/newelementwizardpage_deviceproperties.cpp
  library/newelementwizard/newelementwizardpage_deviceproperties.h
  library/newelementwizard/newelementwizardpage_deviceproperties.ui
  library/newelementwizard/newelementwizardpage_entermetadata.cpp
  library/newelementwizard/newelementwizardpage_entermetadata.h
  library/newelementwizard/newelementwizardpage_entermetadata.ui
  library/newelementwizard/newelementwizardpage_packagepads.cpp
  library/newelementwizard/newelementwizardpage_packagepads.h
  library/newelementwizard/newelementwizardpage_packagepads.ui
  library/pkg/boardsideselectorwidget.cpp
  library/pkg/boardsideselectorwidget.h
  library/pkg/footprintclipboarddata.cpp
  library/pkg/footprintclipboarddata.h
  library/pkg/footprintgraphicsitem.cpp
  library/pkg/footprintgraphicsitem.h
  library/pkg/footprintlisteditorwidget.cpp
  library/pkg/footprintlisteditorwidget.h
  library/pkg/footprintlistmodel.cpp
  library/pkg/footprintlistmodel.h
  library/pkg/footprintpadgraphicsitem.cpp
  library/pkg/footprintpadgraphicsitem.h
  library/pkg/footprintpadpropertiesdialog.cpp
  library/pkg/footprintpadpropertiesdialog.h
  library/pkg/footprintpadpropertiesdialog.ui
  library/pkg/fsm/packageeditorfsm.cpp
  library/pkg/fsm/packageeditorfsm.h
  library/pkg/fsm/packageeditorstate.cpp
  library/pkg/fsm/packageeditorstate.h
  library/pkg/fsm/packageeditorstate_addholes.cpp
  library/pkg/fsm/packageeditorstate_addholes.h
  library/pkg/fsm/packageeditorstate_addnames.cpp
  library/pkg/fsm/packageeditorstate_addnames.h
  library/pkg/fsm/packageeditorstate_addpads.cpp
  library/pkg/fsm/packageeditorstate_addpads.h
  library/pkg/fsm/packageeditorstate_addvalues.cpp
  library/pkg/fsm/packageeditorstate_addvalues.h
  library/pkg/fsm/packageeditorstate_drawarc.cpp
  library/pkg/fsm/packageeditorstate_drawarc.h
  library/pkg/fsm/packageeditorstate_drawcircle.cpp
  library/pkg/fsm/packageeditorstate_drawcircle.h
  library/pkg/fsm/packageeditorstate_drawline.cpp
  library/pkg/fsm/packageeditorstate_drawline.h
  library/pkg/fsm/packageeditorstate_drawpolygon.cpp
  library/pkg/fsm/packageeditorstate_drawpolygon.h
  library/pkg/fsm/packageeditorstate_drawpolygonbase.cpp
  library/pkg/fsm/packageeditorstate_drawpolygonbase.h
  library/pkg/fsm/packageeditorstate_drawrect.cpp
  library/pkg/fsm/packageeditorstate_drawrect.h
  library/pkg/fsm/packageeditorstate_drawtext.cpp
  library/pkg/fsm/packageeditorstate_drawtext.h
  library/pkg/fsm/packageeditorstate_drawtextbase.cpp
  library/pkg/fsm/packageeditorstate_drawtextbase.h
  library/pkg/fsm/packageeditorstate_drawzone.cpp
  library/pkg/fsm/packageeditorstate_drawzone.h
  library/pkg/fsm/packageeditorstate_measure.cpp
  library/pkg/fsm/packageeditorstate_measure.h
  library/pkg/fsm/packageeditorstate_select.cpp
  library/pkg/fsm/packageeditorstate_select.h
  library/pkg/packagechooserdialog.cpp
  library/pkg/packagechooserdialog.h
  library/pkg/packagechooserdialog.ui
  library/pkg/packageeditorwidget.cpp
  library/pkg/packageeditorwidget.h
  library/pkg/packageeditorwidget.ui
  library/pkg/packagemodellisteditorwidget.cpp
  library/pkg/packagemodellisteditorwidget.h
  library/pkg/packagemodellistmodel.cpp
  library/pkg/packagemodellistmodel.h
  library/pkg/packagepadcombobox.cpp
  library/pkg/packagepadcombobox.h
  library/pkg/packagepadlisteditorwidget.cpp
  library/pkg/packagepadlisteditorwidget.h
  library/pkg/packagepadlistmodel.cpp
  library/pkg/packagepadlistmodel.h
  library/sym/fsm/symboleditorfsm.cpp
  library/sym/fsm/symboleditorfsm.h
  library/sym/fsm/symboleditorstate.cpp
  library/sym/fsm/symboleditorstate.h
  library/sym/fsm/symboleditorstate_addnames.cpp
  library/sym/fsm/symboleditorstate_addnames.h
  library/sym/fsm/symboleditorstate_addpins.cpp
  library/sym/fsm/symboleditorstate_addpins.h
  library/sym/fsm/symboleditorstate_addvalues.cpp
  library/sym/fsm/symboleditorstate_addvalues.h
  library/sym/fsm/symboleditorstate_drawarc.cpp
  library/sym/fsm/symboleditorstate_drawarc.h
  library/sym/fsm/symboleditorstate_drawcircle.cpp
  library/sym/fsm/symboleditorstate_drawcircle.h
  library/sym/fsm/symboleditorstate_drawline.cpp
  library/sym/fsm/symboleditorstate_drawline.h
  library/sym/fsm/symboleditorstate_drawpolygon.cpp
  library/sym/fsm/symboleditorstate_drawpolygon.h
  library/sym/fsm/symboleditorstate_drawpolygonbase.cpp
  library/sym/fsm/symboleditorstate_drawpolygonbase.h
  library/sym/fsm/symboleditorstate_drawrect.cpp
  library/sym/fsm/symboleditorstate_drawrect.h
  library/sym/fsm/symboleditorstate_drawtext.cpp
  library/sym/fsm/symboleditorstate_drawtext.h
  library/sym/fsm/symboleditorstate_drawtextbase.cpp
  library/sym/fsm/symboleditorstate_drawtextbase.h
  library/sym/fsm/symboleditorstate_measure.cpp
  library/sym/fsm/symboleditorstate_measure.h
  library/sym/fsm/symboleditorstate_select.cpp
  library/sym/fsm/symboleditorstate_select.h
  library/sym/symbolchooserdialog.cpp
  library/sym/symbolchooserdialog.h
  library/sym/symbolchooserdialog.ui
  library/sym/symbolclipboarddata.cpp
  library/sym/symbolclipboarddata.h
  library/sym/symboleditorwidget.cpp
  library/sym/symboleditorwidget.h
  library/sym/symboleditorwidget.ui
  library/sym/symbolgraphicsitem.cpp
  library/sym/symbolgraphicsitem.h
  library/sym/symbolpingraphicsitem.cpp
  library/sym/symbolpingraphicsitem.h
  library/sym/symbolpinpropertiesdialog.cpp
  library/sym/symbolpinpropertiesdialog.h
  library/sym/symbolpinpropertiesdialog.ui
  modelview/angledelegate.cpp
  modelview/angledelegate.h
  modelview/attributelistmodel.cpp
  modelview/attributelistmodel.h
  modelview/comboboxdelegate.cpp
  modelview/comboboxdelegate.h
  modelview/editablelistmodel.h
  modelview/keyboardshortcutsmodel.cpp
  modelview/keyboardshortcutsmodel.h
  modelview/keysequencedelegate.cpp
  modelview/keysequencedelegate.h
  modelview/lengthdelegate.cpp
  modelview/lengthdelegate.h
  modelview/pathmodel.cpp
  modelview/pathmodel.h
  modelview/sortfilterproxymodel.cpp
  modelview/sortfilterproxymodel.h
  project/addcomponentdialog.cpp
  project/addcomponentdialog.h
  project/addcomponentdialog.ui
  project/boardeditor/boardclipboarddata.cpp
  project/boardeditor/boardclipboarddata.h
  project/boardeditor/boardclipboarddatabuilder.cpp
  project/boardeditor/boardclipboarddatabuilder.h
  project/boardeditor/boardeditor.cpp
  project/boardeditor/boardeditor.h
  project/boardeditor/boardeditor.ui
  project/boardeditor/boardgraphicsscene.cpp
  project/boardeditor/boardgraphicsscene.h
  project/boardeditor/boardlayersdock.cpp
  project/boardeditor/boardlayersdock.h
  project/boardeditor/boardlayersdock.ui
  project/boardeditor/boardnetsegmentsplitter.cpp
  project/boardeditor/boardnetsegmentsplitter.h
  project/boardeditor/boardpickplacegeneratordialog.cpp
  project/boardeditor/boardpickplacegeneratordialog.h
  project/boardeditor/boardpickplacegeneratordialog.ui
  project/boardeditor/boardplanepropertiesdialog.cpp
  project/boardeditor/boardplanepropertiesdialog.h
  project/boardeditor/boardplanepropertiesdialog.ui
  project/boardeditor/boardselectionquery.cpp
  project/boardeditor/boardselectionquery.h
  project/boardeditor/boardsetupdialog.cpp
  project/boardeditor/boardsetupdialog.h
  project/boardeditor/boardsetupdialog.ui
  project/boardeditor/boardviapropertiesdialog.cpp
  project/boardeditor/boardviapropertiesdialog.h
  project/boardeditor/boardviapropertiesdialog.ui
  project/boardeditor/deviceinstancepropertiesdialog.cpp
  project/boardeditor/deviceinstancepropertiesdialog.h
  project/boardeditor/deviceinstancepropertiesdialog.ui
  project/boardeditor/fabricationoutputdialog.cpp
  project/boardeditor/fabricationoutputdialog.h
  project/boardeditor/fabricationoutputdialog.ui
  project/boardeditor/fsm/boardeditorfsm.cpp
  project/boardeditor/fsm/boardeditorfsm.h
  project/boardeditor/fsm/boardeditorstate.cpp
  project/boardeditor/fsm/boardeditorstate.h
  project/boardeditor/fsm/boardeditorstate_adddevice.cpp
  project/boardeditor/fsm/boardeditorstate_adddevice.h
  project/boardeditor/fsm/boardeditorstate_addhole.cpp
  project/boardeditor/fsm/boardeditorstate_addhole.h
  project/boardeditor/fsm/boardeditorstate_addstroketext.cpp
  project/boardeditor/fsm/boardeditorstate_addstroketext.h
  project/boardeditor/fsm/boardeditorstate_addvia.cpp
  project/boardeditor/fsm/boardeditorstate_addvia.h
  project/boardeditor/fsm/boardeditorstate_drawplane.cpp
  project/boardeditor/fsm/boardeditorstate_drawplane.h
  project/boardeditor/fsm/boardeditorstate_drawpolygon.cpp
  project/boardeditor/fsm/boardeditorstate_drawpolygon.h
  project/boardeditor/fsm/boardeditorstate_drawtrace.cpp
  project/boardeditor/fsm/boardeditorstate_drawtrace.h
  project/boardeditor/fsm/boardeditorstate_drawzone.cpp
  project/boardeditor/fsm/boardeditorstate_drawzone.h
  project/boardeditor/fsm/boardeditorstate_measure.cpp
  project/boardeditor/fsm/boardeditorstate_measure.h
  project/boardeditor/fsm/boardeditorstate_select.cpp
  project/boardeditor/fsm/boardeditorstate_select.h
  project/boardeditor/graphicsitems/bgi_airwire.cpp
  project/boardeditor/graphicsitems/bgi_airwire.h
  project/boardeditor/graphicsitems/bgi_device.cpp
  project/boardeditor/graphicsitems/bgi_device.h
  project/boardeditor/graphicsitems/bgi_footprintpad.cpp
  project/boardeditor/graphicsitems/bgi_footprintpad.h
  project/boardeditor/graphicsitems/bgi_hole.cpp
  project/boardeditor/graphicsitems/bgi_hole.h
  project/boardeditor/graphicsitems/bgi_netline.cpp
  project/boardeditor/graphicsitems/bgi_netline.h
  project/boardeditor/graphicsitems/bgi_netpoint.cpp
  project/boardeditor/graphicsitems/bgi_netpoint.h
  project/boardeditor/graphicsitems/bgi_plane.cpp
  project/boardeditor/graphicsitems/bgi_plane.h
  project/boardeditor/graphicsitems/bgi_polygon.cpp
  project/boardeditor/graphicsitems/bgi_polygon.h
  project/boardeditor/graphicsitems/bgi_stroketext.cpp
  project/boardeditor/graphicsitems/bgi_stroketext.h
  project/boardeditor/graphicsitems/bgi_via.cpp
  project/boardeditor/graphicsitems/bgi_via.h
  project/boardeditor/graphicsitems/bgi_zone.cpp
  project/boardeditor/graphicsitems/bgi_zone.h
  project/boardeditor/unplacedcomponentsdock.cpp
  project/boardeditor/unplacedcomponentsdock.h
  project/boardeditor/unplacedcomponentsdock.ui
  project/bomgeneratordialog.cpp
  project/bomgeneratordialog.h
  project/bomgeneratordialog.ui
  project/cmd/cmdaddcomponenttocircuit.cpp
  project/cmd/cmdaddcomponenttocircuit.h
  project/cmd/cmdadddevicetoboard.cpp
  project/cmd/cmdadddevicetoboard.h
  project/cmd/cmdaddsymboltoschematic.cpp
  project/cmd/cmdaddsymboltoschematic.h
  project/cmd/cmdboardadd.cpp
  project/cmd/cmdboardadd.h
  project/cmd/cmdboardedit.cpp
  project/cmd/cmdboardedit.h
  project/cmd/cmdboardholeadd.cpp
  project/cmd/cmdboardholeadd.h
  project/cmd/cmdboardholeedit.cpp
  project/cmd/cmdboardholeedit.h
  project/cmd/cmdboardholeremove.cpp
  project/cmd/cmdboardholeremove.h
  project/cmd/cmdboardnetlineedit.cpp
  project/cmd/cmdboardnetlineedit.h
  project/cmd/cmdboardnetpointedit.cpp
  project/cmd/cmdboardnetpointedit.h
  project/cmd/cmdboardnetsegmentadd.cpp
  project/cmd/cmdboardnetsegmentadd.h
  project/cmd/cmdboardnetsegmentaddelements.cpp
  project/cmd/cmdboardnetsegmentaddelements.h
  project/cmd/cmdboardnetsegmentedit.cpp
  project/cmd/cmdboardnetsegmentedit.h
  project/cmd/cmdboardnetsegmentremove.cpp
  project/cmd/cmdboardnetsegmentremove.h
  project/cmd/cmdboardnetsegmentremoveelements.cpp
  project/cmd/cmdboardnetsegmentremoveelements.h
  project/cmd/cmdboardplaneadd.cpp
  project/cmd/cmdboardplaneadd.h
  project/cmd/cmdboardplaneedit.cpp
  project/cmd/cmdboardplaneedit.h
  project/cmd/cmdboardplaneremove.cpp
  project/cmd/cmdboardplaneremove.h
  project/cmd/cmdboardpolygonadd.cpp
  project/cmd/cmdboardpolygonadd.h
  project/cmd/cmdboardpolygonedit.cpp
  project/cmd/cmdboardpolygonedit.h
  project/cmd/cmdboardpolygonremove.cpp
  project/cmd/cmdboardpolygonremove.h
  project/cmd/cmdboardremove.cpp
  project/cmd/cmdboardremove.h
  project/cmd/cmdboardsplitnetline.cpp
  project/cmd/cmdboardsplitnetline.h
  project/cmd/cmdboardstroketextadd.cpp
  project/cmd/cmdboardstroketextadd.h
  project/cmd/cmdboardstroketextedit.cpp
  project/cmd/cmdboardstroketextedit.h
  project/cmd/cmdboardstroketextremove.cpp
  project/cmd/cmdboardstroketextremove.h
  project/cmd/cmdboardviaedit.cpp
  project/cmd/cmdboardviaedit.h
  project/cmd/cmdboardzoneadd.cpp
  project/cmd/cmdboardzoneadd.h
  project/cmd/cmdboardzoneedit.cpp
  project/cmd/cmdboardzoneedit.h
  project/cmd/cmdboardzoneremove.cpp
  project/cmd/cmdboardzoneremove.h
  project/cmd/cmdchangenetsignalofschematicnetsegment.cpp
  project/cmd/cmdchangenetsignalofschematicnetsegment.h
  project/cmd/cmdcombineboardnetsegments.cpp
  project/cmd/cmdcombineboardnetsegments.h
  project/cmd/cmdcombinenetsignals.cpp
  project/cmd/cmdcombinenetsignals.h
  project/cmd/cmdcombineschematicnetsegments.cpp
  project/cmd/cmdcombineschematicnetsegments.h
  project/cmd/cmdcomponentinstanceadd.cpp
  project/cmd/cmdcomponentinstanceadd.h
  project/cmd/cmdcomponentinstanceedit.cpp
  project/cmd/cmdcomponentinstanceedit.h
  project/cmd/cmdcomponentinstanceremove.cpp
  project/cmd/cmdcomponentinstanceremove.h
  project/cmd/cmdcompsiginstsetnetsignal.cpp
  project/cmd/cmdcompsiginstsetnetsignal.h
  project/cmd/cmddeviceinstanceadd.cpp
  project/cmd/cmddeviceinstanceadd.h
  project/cmd/cmddeviceinstanceedit.cpp
  project/cmd/cmddeviceinstanceedit.h
  project/cmd/cmddeviceinstanceeditall.cpp
  project/cmd/cmddeviceinstanceeditall.h
  project/cmd/cmddeviceinstanceremove.cpp
  project/cmd/cmddeviceinstanceremove.h
  project/cmd/cmddevicestroketextadd.cpp
  project/cmd/cmddevicestroketextadd.h
  project/cmd/cmddevicestroketextremove.cpp
  project/cmd/cmddevicestroketextremove.h
  project/cmd/cmddevicestroketextsreset.cpp
  project/cmd/cmddevicestroketextsreset.h
  project/cmd/cmddragselectedboarditems.cpp
  project/cmd/cmddragselectedboarditems.h
  project/cmd/cmddragselectedschematicitems.cpp
  project/cmd/cmddragselectedschematicitems.h
  project/cmd/cmdflipselectedboarditems.cpp
  project/cmd/cmdflipselectedboarditems.h
  project/cmd/cmdnetclassadd.cpp
  project/cmd/cmdnetclassadd.h
  project/cmd/cmdnetclassedit.cpp
  project/cmd/cmdnetclassedit.h
  project/cmd/cmdnetclassremove.cpp
  project/cmd/cmdnetclassremove.h
  project/cmd/cmdnetsignaladd.cpp
  project/cmd/cmdnetsignaladd.h
  project/cmd/cmdnetsignaledit.cpp
  project/cmd/cmdnetsignaledit.h
  project/cmd/cmdnetsignalremove.cpp
  project/cmd/cmdnetsignalremove.h
  project/cmd/cmdpasteboarditems.cpp
  project/cmd/cmdpasteboarditems.h
  project/cmd/cmdpasteschematicitems.cpp
  project/cmd/cmdpasteschematicitems.h
  project/cmd/cmdprojectedit.cpp
  project/cmd/cmdprojectedit.h
  project/cmd/cmdprojectlibraryaddelement.cpp
  project/cmd/cmdprojectlibraryaddelement.h
  project/cmd/cmdprojectlibraryremoveelement.cpp
  project/cmd/cmdprojectlibraryremoveelement.h
  project/cmd/cmdremoveboarditems.cpp
  project/cmd/cmdremoveboarditems.h
  project/cmd/cmdremoveselectedboarditems.cpp
  project/cmd/cmdremoveselectedboarditems.h
  project/cmd/cmdremoveselectedschematicitems.cpp
  project/cmd/cmdremoveselectedschematicitems.h
  project/cmd/cmdremoveunusedlibraryelements.cpp
  project/cmd/cmdremoveunusedlibraryelements.h
  project/cmd/cmdremoveunusednetsignals.cpp
  project/cmd/cmdremoveunusednetsignals.h
  project/cmd/cmdreplacedevice.cpp
  project/cmd/cmdreplacedevice.h
  project/cmd/cmdschematicadd.cpp
  project/cmd/cmdschematicadd.h
  project/cmd/cmdschematicedit.cpp
  project/cmd/cmdschematicedit.h
  project/cmd/cmdschematicnetlabeladd.cpp
  project/cmd/cmdschematicnetlabeladd.h
  project/cmd/cmdschematicnetlabeledit.cpp
  project/cmd/cmdschematicnetlabeledit.h
  project/cmd/cmdschematicnetlabelremove.cpp
  project/cmd/cmdschematicnetlabelremove.h
  project/cmd/cmdschematicnetpointedit.cpp
  project/cmd/cmdschematicnetpointedit.h
  project/cmd/cmdschematicnetsegmentadd.cpp
  project/cmd/cmdschematicnetsegmentadd.h
  project/cmd/cmdschematicnetsegmentaddelements.cpp
  project/cmd/cmdschematicnetsegmentaddelements.h
  project/cmd/cmdschematicnetsegmentedit.cpp
  project/cmd/cmdschematicnetsegmentedit.h
  project/cmd/cmdschematicnetsegmentremove.cpp
  project/cmd/cmdschematicnetsegmentremove.h
  project/cmd/cmdschematicnetsegmentremoveelements.cpp
  project/cmd/cmdschematicnetsegmentremoveelements.h
  project/cmd/cmdschematicpolygonadd.cpp
  project/cmd/cmdschematicpolygonadd.h
  project/cmd/cmdschematicpolygonremove.cpp
  project/cmd/cmdschematicpolygonremove.h
  project/cmd/cmdschematicremove.cpp
  project/cmd/cmdschematicremove.h
  project/cmd/cmdschematictextadd.cpp
  project/cmd/cmdschematictextadd.h
  project/cmd/cmdschematictextremove.cpp
  project/cmd/cmdschematictextremove.h
  project/cmd/cmdsymbolinstanceadd.cpp
  project/cmd/cmdsymbolinstanceadd.h
  project/cmd/cmdsymbolinstanceedit.cpp
  project/cmd/cmdsymbolinstanceedit.h
  project/cmd/cmdsymbolinstanceeditall.cpp
  project/cmd/cmdsymbolinstanceeditall.h
  project/cmd/cmdsymbolinstanceremove.cpp
  project/cmd/cmdsymbolinstanceremove.h
  project/cmd/cmdsymbolinstancetextadd.cpp
  project/cmd/cmdsymbolinstancetextadd.h
  project/cmd/cmdsymbolinstancetextremove.cpp
  project/cmd/cmdsymbolinstancetextremove.h
  project/cmd/cmdsymbolinstancetextsreset.cpp
  project/cmd/cmdsymbolinstancetextsreset.h
  project/newprojectwizard/newprojectwizard.cpp
  project/newprojectwizard/newprojectwizard.h
  project/newprojectwizard/newprojectwizard.ui
  project/newprojectwizard/newprojectwizardpage_initialization.cpp
  project/newprojectwizard/newprojectwizardpage_initialization.h
  project/newprojectwizard/newprojectwizardpage_initialization.ui
  project/newprojectwizard/newprojectwizardpage_metadata.cpp
  project/newprojectwizard/newprojectwizardpage_metadata.h
  project/newprojectwizard/newprojectwizardpage_metadata.ui
  project/newprojectwizard/newprojectwizardpage_versioncontrol.cpp
  project/newprojectwizard/newprojectwizardpage_versioncontrol.h
  project/newprojectwizard/newprojectwizardpage_versioncontrol.ui
  project/orderpcbdialog.cpp
  project/orderpcbdialog.h
  project/orderpcbdialog.ui
  project/projecteditor.cpp
  project/projecteditor.h
  project/projectsetupdialog.cpp
  project/projectsetupdialog.h
  project/projectsetupdialog.ui
  project/schematiceditor/fsm/schematiceditorfsm.cpp
  project/schematiceditor/fsm/schematiceditorfsm.h
  project/schematiceditor/fsm/schematiceditorstate.cpp
  project/schematiceditor/fsm/schematiceditorstate.h
  project/schematiceditor/fsm/schematiceditorstate_addcomponent.cpp
  project/schematiceditor/fsm/schematiceditorstate_addcomponent.h
  project/schematiceditor/fsm/schematiceditorstate_addnetlabel.cpp
  project/schematiceditor/fsm/schematiceditorstate_addnetlabel.h
  project/schematiceditor/fsm/schematiceditorstate_addtext.cpp
  project/schematiceditor/fsm/schematiceditorstate_addtext.h
  project/schematiceditor/fsm/schematiceditorstate_drawpolygon.cpp
  project/schematiceditor/fsm/schematiceditorstate_drawpolygon.h
  project/schematiceditor/fsm/schematiceditorstate_drawwire.cpp
  project/schematiceditor/fsm/schematiceditorstate_drawwire.h
  project/schematiceditor/fsm/schematiceditorstate_measure.cpp
  project/schematiceditor/fsm/schematiceditorstate_measure.h
  project/schematiceditor/fsm/schematiceditorstate_select.cpp
  project/schematiceditor/fsm/schematiceditorstate_select.h
  project/schematiceditor/graphicsitems/sgi_netlabel.cpp
  project/schematiceditor/graphicsitems/sgi_netlabel.h
  project/schematiceditor/graphicsitems/sgi_netline.cpp
  project/schematiceditor/graphicsitems/sgi_netline.h
  project/schematiceditor/graphicsitems/sgi_netpoint.cpp
  project/schematiceditor/graphicsitems/sgi_netpoint.h
  project/schematiceditor/graphicsitems/sgi_symbol.cpp
  project/schematiceditor/graphicsitems/sgi_symbol.h
  project/schematiceditor/graphicsitems/sgi_symbolpin.cpp
  project/schematiceditor/graphicsitems/sgi_symbolpin.h
  project/schematiceditor/graphicsitems/sgi_text.cpp
  project/schematiceditor/graphicsitems/sgi_text.h
  project/schematiceditor/renamenetsegmentdialog.cpp
  project/schematiceditor/renamenetsegmentdialog.h
  project/schematiceditor/renamenetsegmentdialog.ui
  project/schematiceditor/schematicclipboarddata.cpp
  project/schematiceditor/schematicclipboarddata.h
  project/schematiceditor/schematicclipboarddatabuilder.cpp
  project/schematiceditor/schematicclipboarddatabuilder.h
  project/schematiceditor/schematiceditor.cpp
  project/schematiceditor/schematiceditor.h
  project/schematiceditor/schematiceditor.ui
  project/schematiceditor/schematicgraphicsscene.cpp
  project/schematiceditor/schematicgraphicsscene.h
  project/schematiceditor/schematicnetsegmentsplitter.cpp
  project/schematiceditor/schematicnetsegmentsplitter.h
  project/schematiceditor/schematicpagesdock.cpp
  project/schematiceditor/schematicpagesdock.h
  project/schematiceditor/schematicpagesdock.ui
  project/schematiceditor/schematicselectionquery.cpp
  project/schematiceditor/schematicselectionquery.h
  project/schematiceditor/symbolinstancepropertiesdialog.cpp
  project/schematiceditor/symbolinstancepropertiesdialog.h
  project/schematiceditor/symbolinstancepropertiesdialog.ui
  undocommand.cpp
  undocommand.h
  undocommandgroup.cpp
  undocommandgroup.h
  undostack.cpp
  undostack.h
  utils/editortoolbox.cpp
  utils/editortoolbox.h
  utils/exclusiveactiongroup.cpp
  utils/exclusiveactiongroup.h
  utils/halignactiongroup.cpp
  utils/halignactiongroup.h
  utils/measuretool.cpp
  utils/measuretool.h
  utils/menubuilder.cpp
  utils/menubuilder.h
  utils/shortcutsreferencegenerator.cpp
  utils/shortcutsreferencegenerator.h
  utils/standardeditorcommandhandler.cpp
  utils/standardeditorcommandhandler.h
  utils/toolbarproxy.cpp
  utils/toolbarproxy.h
  utils/undostackactiongroup.cpp
  utils/undostackactiongroup.h
  utils/valignactiongroup.cpp
  utils/valignactiongroup.h
  widgets/alignmentselector.cpp
  widgets/alignmentselector.h
  widgets/alignmentselector.ui
  widgets/angleedit.cpp
  widgets/angleedit.h
  widgets/attributelisteditorwidget.cpp
  widgets/attributelisteditorwidget.h
  widgets/attributetypecombobox.cpp
  widgets/attributetypecombobox.h
  widgets/attributeunitcombobox.cpp
  widgets/attributeunitcombobox.h
  widgets/centeredcheckbox.cpp
  widgets/centeredcheckbox.h
  widgets/doublespinbox.cpp
  widgets/doublespinbox.h
  widgets/editabletablewidget.cpp
  widgets/editabletablewidget.h
  widgets/graphicsexportpreviewwidget.cpp
  widgets/graphicsexportpreviewwidget.h
  widgets/graphicsview.cpp
  widgets/graphicsview.h
  widgets/holeeditorwidget.cpp
  widgets/holeeditorwidget.h
  widgets/holeeditorwidget.ui
  widgets/if_graphicsvieweventhandler.h
  widgets/keysequenceseditorwidget.cpp
  widgets/keysequenceseditorwidget.h
  widgets/layercombobox.cpp
  widgets/layercombobox.h
  widgets/lengthedit.cpp
  widgets/lengthedit.h
  widgets/lengtheditbase.cpp
  widgets/lengtheditbase.h
  widgets/messagewidget.cpp
  widgets/messagewidget.h
  widgets/numbereditbase.cpp
  widgets/numbereditbase.h
  widgets/openglview.cpp
  widgets/openglview.h
  widgets/patheditorwidget.cpp
  widgets/patheditorwidget.h
  widgets/plaintextedit.cpp
  widgets/plaintextedit.h
  widgets/positivelengthedit.cpp
  widgets/positivelengthedit.h
  widgets/ratioedit.cpp
  widgets/ratioedit.h
  widgets/rulecheckdock.cpp
  widgets/rulecheckdock.h
  widgets/rulecheckdock.ui
  widgets/rulechecklistwidget.cpp
  widgets/rulechecklistwidget.h
  widgets/searchtoolbar.cpp
  widgets/searchtoolbar.h
  widgets/signalrolecombobox.cpp
  widgets/signalrolecombobox.h
  widgets/statusbar.cpp
  widgets/statusbar.h
  widgets/tabwidget.cpp
  widgets/tabwidget.h
  widgets/unsignedlengthedit.cpp
  widgets/unsignedlengthedit.h
  widgets/unsignedlimitedratioedit.cpp
  widgets/unsignedlimitedratioedit.h
  widgets/unsignedratioedit.cpp
  widgets/unsignedratioedit.h
  widgets/waitingspinnerwidget.cpp
  widgets/waitingspinnerwidget.h
  workspace/categorytreemodel.cpp
  workspace/categorytreemodel.h
  workspace/controlpanel/controlpanel.cpp
  workspace/controlpanel/controlpanel.h
  workspace/controlpanel/controlpanel.ui
  workspace/controlpanel/favoriteprojectsmodel.cpp
  workspace/controlpanel/favoriteprojectsmodel.h
  workspace/controlpanel/fileiconprovider.cpp
  workspace/controlpanel/fileiconprovider.h
  workspace/controlpanel/markdownconverter.cpp
  workspace/controlpanel/markdownconverter.h
  workspace/controlpanel/projecttreemodel.cpp
  workspace/controlpanel/projecttreemodel.h
  workspace/controlpanel/recentprojectsmodel.cpp
  workspace/controlpanel/recentprojectsmodel.h
  workspace/desktopintegration.cpp
  workspace/desktopintegration.h
  workspace/desktopservices.cpp
  workspace/desktopservices.h
  workspace/initializeworkspacewizard/initializeworkspacewizard.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizard.h
  workspace/initializeworkspacewizard/initializeworkspacewizard.ui
  workspace/initializeworkspacewizard/initializeworkspacewizard_choosesettings.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizard_choosesettings.h
  workspace/initializeworkspacewizard/initializeworkspacewizard_choosesettings.ui
  workspace/initializeworkspacewizard/initializeworkspacewizard_chooseworkspace.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizard_chooseworkspace.h
  workspace/initializeworkspacewizard/initializeworkspacewizard_chooseworkspace.ui
  workspace/initializeworkspacewizard/initializeworkspacewizard_upgrade.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizard_upgrade.h
  workspace/initializeworkspacewizard/initializeworkspacewizard_upgrade.ui
  workspace/initializeworkspacewizard/initializeworkspacewizard_welcome.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizard_welcome.h
  workspace/initializeworkspacewizard/initializeworkspacewizard_welcome.ui
  workspace/initializeworkspacewizard/initializeworkspacewizardcontext.cpp
  workspace/initializeworkspacewizard/initializeworkspacewizardcontext.h
  workspace/librarymanager/addlibrarywidget.cpp
  workspace/librarymanager/addlibrarywidget.h
  workspace/librarymanager/addlibrarywidget.ui
  workspace/librarymanager/librarydownload.cpp
  workspace/librarymanager/librarydownload.h
  workspace/librarymanager/libraryinfowidget.cpp
  workspace/librarymanager/libraryinfowidget.h
  workspace/librarymanager/libraryinfowidget.ui
  workspace/librarymanager/librarylistwidgetitem.cpp
  workspace/librarymanager/librarylistwidgetitem.h
  workspace/librarymanager/librarylistwidgetitem.ui
  workspace/librarymanager/librarymanager.cpp
  workspace/librarymanager/librarymanager.h
  workspace/librarymanager/librarymanager.ui
  workspace/librarymanager/onlinelibrarylistwidgetitem.cpp
  workspace/librarymanager/onlinelibrarylistwidgetitem.h
  workspace/librarymanager/onlinelibrarylistwidgetitem.ui
  workspace/projectlibraryupdater/projectlibraryupdater.cpp
  workspace/projectlibraryupdater/projectlibraryupdater.h
  workspace/projectlibraryupdater/projectlibraryupdater.ui
  workspace/workspacesettingsdialog.cpp
  workspace/workspacesettingsdialog.h
  workspace/workspacesettingsdialog.ui
)
target_include_directories(
  librepcb_editor
  PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../.."
)
target_link_libraries(
  librepcb_editor
  PRIVATE common
          # LibrePCB
          LibrePCB::EagleImport
          # Third party
          OpenGL::GLU
)
target_link_libraries(
  librepcb_editor
  PUBLIC # LibrePCB
         LibrePCB::Core
         # Third party
         Optional::Optional
         TypeSafe::TypeSafe
         # Qt
         Qt5::Core
         Qt5::Gui
         Qt5::OpenGL
         Qt5::PrintSupport
         Qt5::Svg
         Qt5::Network
         Qt5::Widgets
)

# Hoedown is only needed on Qt <5.14
if(Qt5Core_VERSION_MAJOR EQUAL 5 AND Qt5Core_VERSION_MINOR LESS 14)
  target_link_libraries(librepcb_editor PRIVATE Hoedown::Hoedown)
endif()

# Alias to namespaced variant
add_library(LibrePCB::Editor ALIAS librepcb_editor)
